package com.hyou.springboot.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.hyou.springboot.validator.group.AddGroup;
import com.hyou.springboot.validator.group.DeleteGroup;
import com.hyou.springboot.validator.group.PageQueryGroup;
import com.hyou.springboot.validator.group.QueryGroup;
import com.hyou.springboot.validator.group.ToDetailGroup;
import com.hyou.springboot.validator.group.ToUpdateGroup;
import com.hyou.springboot.validator.group.UpdateGroup;

/**
 * 表单校验标记注解，用在Controller的方法上。
 * 
 * @author FengChangshuo
 * @version 1.0.0 2018-03-28 11:25:42 初始创建
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface FormValidator {
    
    /**
     * @return 校验组
     * 
     * @see {@link AddGroup}
     * @see {@link DeleteGroup}
     * @see {@link PageQueryGroup}
     * @see {@link QueryGroup}
     * @see {@link ToDetailGroup}
     * @see {@link ToUpdateGroup}
     * @see {@link UpdateGroup}
     */
    Class<?>[] value() default {};
    
}
